package py.com.alfa.escriba.gui.dto.gestion;

import java.util.Date;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import py.com.alfa.escriba.gui.dto.admin.DepartamentoDTO;
import py.com.alfa.escriba.gui.dto.admin.DistritoDTO;
import py.com.alfa.escriba.gui.dto.admin.TabRefDTO;
import py.com.alfa.escriba.gui.utils.ObjectUtils;

@JsonIgnoreProperties(ignoreUnknown = true)
public class InmueblesDTO {
	private Long id;
	private Long idescribano;
	private Long iddistrito;
	private String finca;
	private Long parcela;
	private String padron;
	private String matricula;
	private String cuentacorriente;
	private String area;
	private Long idunidadmedida;
	private String areatexto;
	private String linderos;
	private String manzana;
	private String lote;
	private String direccion;
	private String observacion;
	private String unidadph;
	private Long idusuario;
	private Date fechacreacion;
	private Long idusuariomodificacion;
	private Date fechamodificacion;
	private Long trn;
	
	private List<InmuebleslinderosDTO> linderosList;
	private DistritoDTO distrito;
	private TabRefDTO um;
	
	//controles inmuebles
	private DepartamentoDTO departamento;
	private Boolean marcar;
	
	public InmueblesDTO(){}

	public InmueblesDTO(Long id) {
		super();
		this.id = id;
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getIdescribano() {
		return idescribano;
	}
	public void setIdescribano(Long idescribano) {
		this.idescribano = idescribano;
	}
	public Long getIddistrito() {
		return iddistrito;
	}
	public void setIddistrito(Long iddistrito) {
		this.iddistrito = iddistrito;
	}
	public String getFinca() {
		return finca;
	}
	public void setFinca(String finca) {
		this.finca =ObjectUtils.parseString(finca); 
	}
	public Long getParcela() {
		return parcela;
	}
	public void setParcela(Long parcela) {
		this.parcela = parcela;
	}
	public String getPadron() {
		return padron;
	}
	public void setPadron(String padron) {
		this.padron = ObjectUtils.parseString(padron);
	}
	public String getMatricula() {
		return matricula;
	}
	public void setMatricula(String matricula) {
		this.matricula = ObjectUtils.parseString(matricula);
	}
	public String getCuentacorriente() {
		return cuentacorriente;
	}
	public void setCuentacorriente(String cuentacorriente) {
		this.cuentacorriente = ObjectUtils.parseString(cuentacorriente);
	}
	public String getArea() {
		return area;
	}
	public void setArea(String area) {
		this.area = ObjectUtils.parseString(area);
	}
	public Long getIdunidadmedida() {
		return idunidadmedida;
	}
	public void setIdunidadmedida(Long idunidadmedida) {
		this.idunidadmedida = idunidadmedida;
	}
	public String getAreatexto() {
		return areatexto;
	}
	public void setAreatexto(String areatexto) {
		this.areatexto = ObjectUtils.parseString(areatexto);
	}
	public String getLinderos() {
		return linderos;
	}
	public void setLinderos(String linderos) {
		this.linderos = linderos;
	}
	public String getManzana() {
		return manzana;
	}
	public void setManzana(String manzana) {
		this.manzana = ObjectUtils.parseString(manzana);
	}
	public String getLote() {
		return lote;
	}
	public void setLote(String lote) {
		this.lote = ObjectUtils.parseString(lote);
	}
	public String getDireccion() {
		return direccion;
	}
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}
	public String getObservacion() {
		return observacion;
	}
	public void setObservacion(String observacion) {
		this.observacion = ObjectUtils.parseString(observacion);
	}
	public String getUnidadph() {
		return unidadph;
	}
	public void setUnidadph(String unidadph) {
		this.unidadph = ObjectUtils.parseString(unidadph);
	}
	public Long getIdusuario() {
		return idusuario;
	}
	public void setIdusuario(Long idusuario) {
		this.idusuario = idusuario;
	}
	public Date getFechacreacion() {
		return fechacreacion;
	}
	public void setFechacreacion(Date fechacreacion) {
		this.fechacreacion = fechacreacion;
	}
	public Long getIdusuariomodificacion() {
		return idusuariomodificacion;
	}
	public void setIdusuariomodificacion(Long idusuariomodificacion) {
		this.idusuariomodificacion = idusuariomodificacion;
	}
	public Date getFechamodificacion() {
		return fechamodificacion;
	}
	public void setFechamodificacion(Date fechamodificacion) {
		this.fechamodificacion = fechamodificacion;
	}
	public Long getTrn() {
		return trn;
	}
	public void setTrn(Long trn) {
		this.trn = trn;
	}
	public List<InmuebleslinderosDTO> getLinderosList() {
		return linderosList;
	}
	public void setLinderosList(List<InmuebleslinderosDTO> linderosList) {
		this.linderosList = linderosList;
	}
	public DistritoDTO getDistrito() {
		return distrito;
	}
	public void setDistrito(DistritoDTO distrito) {
		this.setIddistrito(distrito != null ? distrito.getId() : null);
		this.distrito = distrito;
	}
	public TabRefDTO getUm() {
		return um;
	}
	public void setUm(TabRefDTO um) {
		this.setIdunidadmedida(um != null ? um.getId() : null);
		this.um = um;
	}
	public DepartamentoDTO getDepartamento() {
		return departamento;
	}
	public void setDepartamento(DepartamentoDTO departamento) {
		this.departamento = departamento;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!(obj instanceof InmueblesDTO))
			return false;
		InmueblesDTO other = (InmueblesDTO) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
	public Boolean getMarcar() {
		return marcar;
	}
	public void setMarcar(Boolean marcar) {
		this.marcar = marcar;
	}

}